SuperSystem
游戏内只存在一个SuperSystem,可以在导入了SuperSAPI后直接SuperSAPI.System​获取到这个唯一实例
该类是SSAPI的核心类,用于把对应的驱动事件分配给对应的实体对象
成员变量
成员变量 描述
source_instance: System 保存构造函数传入的原生System​实例。
static sp_world: SuperWorld 静态变量,存储全局的SuperWorld​实例。
ready: boolean = false 指示SuperSystem​实例是否已准备好。
构造函数
构造函数 描述
constructor(source_instance: System) 初始化SuperSystem​实例,设置原生System​实例引用,并复制相关事件和当前刻度。
成员函数
成员函数 描述
init() 初始化运行时函数,设置世界实例,订阅事件,并启动周期性任务。
runTick(t: number) 运行时每刻调用的函数,用于更新实体和物品的状态。
clearJob(jobId: number) 取消之前通过runJob​安排的任务。
clearRun(runId: number) 取消之前通过run​或runInterval​安排的周期性执行的任务。
run(callback: () => void): number 安排一个函数在下一个游戏刻执行,并返回一个标识符。
runInterval(callback: () => void, tickInterval?: number): number 安排一个函数每隔一定游戏刻数执行,并返回一个标识符。
runJob(generator: Generator<void, void, void>): number 安排一个生成器函数执行,直到完成,并返回一个标识符。
runTimeout(callback: () => void, tickDelay?: number): number 安排一个函数在指定的游戏刻数后执行,并返回一个标识符。
waitTicks(ticks: number): Promise<void> 返回一个Promise,该Promise在指定的游戏刻数后解析。
事件处理函数
事件处理函数 描述
EntityDieAfterEvent(event: EntityDieAfterEvent) 实体死亡后的事件处理。
EntityHealthChangedAfterEvent(event: EntityHealthChangedAfterEvent) 实体血量改变后的事件处理。
EntityHitBlockAfterEvent(event: EntityHitBlockAfterEvent) 实体击中方块后的事件处理。
EntityHitEntityAfterEvent(event: EntityHitEntityAfterEvent) 实体击中另一个实体后的事件处理。
EntityHurtAfterEvent(event: EntityHurtAfterEvent) 实体受到伤害后的事件处理。
EntityLoadAfterEvent(event: EntityLoadAfterEvent) 实体加载后的事件处理。
EntityRemoveAfterEvent(event: EntityRemoveAfterEvent) 实体被移除后的事件处理。
EntitySpawnAfterEvent(event: EntitySpawnAfterEvent) 实体生成后的事件处理。
EntityRemoveBeforeEvent(event: EntityRemoveBeforeEvent) 实体被移除前的事件处理。
onPlayerSwitchSelectedSlot(player: SuperPlayer, oldSlot: number, newSlot: number) 玩家切换选择的槽位后的事件处理。
PlayerInputCommand(event: ChatSendBeforeEvent) 玩家输入命令前的事件处理。
PlayerItemStopUseOnAfterEvent(event: ItemStopUseOnAfterEvent) 玩家停止使用物品后的事件处理。
PlayerItemStartUseAfterEvent(event: ItemStartUseAfterEvent) 玩家开始使用物品后的事件处理。
PlayerItemReleaseUseAfterEvent(event: ItemReleaseUseAfterEvent) 玩家释放使用物品后的事件处理。
PlayerItemCompleteAfterEvent(event: ItemCompleteUseEvent) 玩家完成使用物品后的事件处理。
PlayerItemUseOnAfterEvent(event: ItemUseOnAfterEvent) 玩家在方块上使用物品后的事件处理。
PlayerItemUseAfterEvent(event: ItemUseAfterEvent) 玩家使用物品后的事件处理。
PlayerSpawnAfterEvent(event: PlayerSpawnAfterEvent) 玩家生成后的事件处理。
PlayerPlaceBlockAfterEvent(event: PlayerPlaceBlockAfterEvent) 玩家放置方块后的事件处理。
PlayerLeaveAfterEvent(event: PlayerLeaveAfterEvent) 玩家离开后的事件处理。
PlayerJoinAfterEvent(event: PlayerJoinAfterEvent) 玩家加入后的事件处理。
PlayerInteractWithEntityAfterEvent(event: PlayerInteractWithEntityAfterEvent) 玩家与实体互动后的事件处理。
PlayerInteractWithBlockAfterEvent(event: PlayerInteractWithBlockAfterEvent) 玩家与方块互动后的事件处理。
PlayerInputPermissionCategoryChangeAfterEvent(event: PlayerInputPermissionCategoryChangeAfterEvent) 玩家输入权限类别改变后的事件处理。
PlayerGameModeChangeAfterEvent(event: PlayerGameModeChangeAfterEvent) 玩家游戏模式改变后的事件处理。
PlayerEmoteAfterEvent(event: PlayerEmoteAfterEvent) 玩家表情动作后的事件处理。
PlayerDimensionChangeAfterEvent(event: PlayerDimensionChangeAfterEvent) 玩家维度改变后的事件处理。
PlayerBreakBlockAfterEvent(event: PlayerBreakBlockAfterEvent) 玩家破坏方块后的事件处理。
PlayerLeaveBeforeEvent(event: PlayerLeaveBeforeEvent) 玩家离开前的事件处理。
PlayerInteractWithEntityBeforeEvent(event: PlayerInteractWithEntityBeforeEvent) 玩家与实体互动前的事件处理。
PlayerInteractWithBlockBeforeEvent(event: PlayerInteractWithBlockBeforeEvent) 玩家与方块互动前的事件处理。
PlayerGameModeChangeBeforeEvent(event: PlayerGameModeChangeBeforeEvent) 玩家游戏模式改变前的事件处理。
PlayerItemUseOnBeforeEvent(event: ItemUseOnBeforeEvent) 玩家在方块上使用物品前的事件处理。
PlayerItemUseBeforeEvent(event: ItemUseBeforeEvent) 玩家使用物品前的事件处理。
PlayerChatSendBeforeEvent(event: ChatSendBeforeEvent) 玩家发送聊天信息前的事件处理。
PlayerBreakPlaceBeforeEvent(event: PlayerPlaceBlockBeforeEvent) 玩家放置或破坏方块前的事件处理。
PlayerBreakBlockBeforeEvent(event: PlayerBreakBlockBeforeEvent) 玩家破坏方块前的事件处理。
静态方法
静态方法 描述
static getWorld(): SuperWorld 获取全局的SuperWorld​实例。